home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / adx7mu1a / connectf.frm < prev    next >
Text File  |  1999-10-07  |  4KB  |  158 lines

  1. VERSION 5.00
  2. Begin VB.Form connectfrm 
  3.    Caption         =   "Choose Connection Type"
  4.    ClientHeight    =   3720
  5.    ClientLeft      =   60
  6.    ClientTop       =   345
  7.    ClientWidth     =   7860
  8.    LinkTopic       =   "Form1"
  9.    ScaleHeight     =   3720
  10.    ScaleWidth      =   7860
  11.    StartUpPosition =   3  'Windows Default
  12.    Begin VB.CommandButton cmdok 
  13.       Caption         =   "Connect"
  14.       Height          =   615
  15.       Left            =   6000
  16.       TabIndex        =   3
  17.       Top             =   2880
  18.       Width           =   1575
  19.    End
  20.    Begin VB.ListBox connectiontype 
  21.       Height          =   2010
  22.       Left            =   480
  23.       TabIndex        =   2
  24.       Top             =   240
  25.       Width           =   4935
  26.    End
  27.    Begin VB.TextBox PlayersName 
  28.       Height          =   495
  29.       Left            =   720
  30.       TabIndex        =   0
  31.       Text            =   "Text1"
  32.       Top             =   3000
  33.       Width           =   4335
  34.    End
  35.    Begin VB.Label Label1 
  36.       Caption         =   "Players Name."
  37.       Height          =   255
  38.       Left            =   720
  39.       TabIndex        =   1
  40.       Top             =   2760
  41.       Width           =   3855
  42.    End
  43. End
  44. Attribute VB_Name = "connectfrm"
  45. Attribute VB_GlobalNameSpace = False
  46. Attribute VB_Creatable = False
  47. Attribute VB_PredeclaredId = True
  48. Attribute VB_Exposed = False
  49. Option Explicit
  50.  
  51. Private Sub cmdCancel_Click()
  52.   ' Force initialization of DirectPlay if user comes back in
  53.   Unload Me
  54.   'frmMainMenu.Show
  55. End Sub
  56.  
  57. Private Sub cmdOK_Click()
  58.   Dim cindex As Long
  59.   Dim ConnectionMade As Boolean
  60.   Dim dxAddress As DirectPlayAddress
  61.   ' Initialize the connection. Any service provider dialogs are not called till the
  62.   ' connection is used, e.g. to enumerate sessions.
  63.   
  64.   cindex = connectiontype.ListIndex + 1
  65.   On Error GoTo INITIALIZEFAILED
  66.   usermode = "host"
  67.   
  68.   If usermode = "host" Then
  69.    Hide
  70.    Lobby.Show
  71.    Exit Sub
  72.   Else
  73.    Set dxAddress = EnumConnections.GetAddress(cindex)
  74.   Call dxplay.InitializeConnection(dxAddress)
  75.   End If
  76.   
  77.   On Error GoTo 0
  78.   
  79.   ' Enumerate the sessions to be shown in the SessionForm listbox. If this fails with
  80.   ' DPERR_USERCANCEL, the user cancelled out of a service provider dialog. This is
  81.   ' not a fatal error, because for the modem connection it simply indicates the
  82.   ' player wishes to host a session and not to make a dial-up connection. The "answer"
  83.   ' dialog will come up when the user attempts to create a session.
  84.   
  85.   ConnectionMade = Lobby.UpdateSessionList
  86.   If ConnectionMade Then
  87.     Hide
  88.     Lobby.Show
  89.   Else
  90.     InitDPlay
  91.   End If
  92.   Exit Sub
  93.   ' Error handlers
  94. INITIALIZEFAILED:
  95.   If Err.Number <> DPERR_ALREADYINITIALIZED Then
  96.     MsgBox ("Failed to initialize connection.")
  97.     Exit Sub
  98.   End If
  99.   
  100. End Sub
  101.  
  102. Private Sub Form_Load()
  103.   ' Enumerate connections
  104.   If Not InitConnectionList Then
  105.     Call MsgBox("Failed to Enumerate Connections.")
  106.     CloseDownDPlay
  107.     End
  108.   End If
  109.   
  110. End Sub
  111.  
  112. Private Sub Form_Unload(Cancel As Integer)
  113.   'frmMainMenu.Show
  114. End Sub
  115.  
  116. Private Sub lstConnections_DblClick()
  117.     cmdOK_Click
  118. End Sub
  119.  
  120. ' Highlight player name when selected
  121.  
  122. Private Sub txtYourName_GotFocus()
  123.   'txtYourName.SelStart = 0
  124.   'txtYourName.SelLength = txtYourName.MaxLength
  125. End Sub
  126.  
  127. ' Enumerate connections
  128.  
  129. Public Function InitConnectionList() As Boolean
  130.  
  131.   Dim NumConnections As Long
  132.   Dim strName As String
  133.   Dim x As Long
  134.   
  135.   Call InitDPlay     ' Program aborts on failure
  136.  
  137.   connectiontype.Clear
  138.   
  139.   On Error GoTo FAILED
  140.   NumConnections = EnumConnections.GetCount
  141.   For x = 1 To NumConnections
  142.     strName = EnumConnections.GetName(x)
  143.     Call connectiontype.AddItem(strName)
  144.   Next x
  145.   
  146.   ' Initialize selection
  147.   connectiontype.ListIndex = 0
  148.   InitConnectionList = True
  149.   Exit Function
  150.   
  151.   ' Error handlers
  152. FAILED:
  153.   InitConnectionList = False
  154.   Exit Function
  155.   
  156. End Function
  157.  
  158.